Chemical product dispenser with washing machine tank fill level detection

ABSTRACT

Systems, methods, and software program products for dispensing chemical products to a washing machine. A dispenser receives a conductivity signal from a conductivity circuit having input terminals coupled to a probe in a tank of the washing machine. The dispenser may compare the conductivity signal to a threshold indicative of a low level of conductivity between input terminals of the conductivity circuit. In response to the conductivity signal breaching the threshold, the dispenser may determine the tank of the washing machine is being drained of a washing solution. In response to the conductivity signal subsequently breaching another threshold indicative of a high level of conductivity between the input terminals, the dispenser may determine the tank is being filled, and dispense a predetermined amount of the chemical product into the tank.

BACKGROUND

The invention generally relates to washing machines, and in particular, to systems, methods, and software products for dispensing chemicals to a commercial washing machine.

There are various types of commercial washing machines. Two of the most common types of ware washing machines are batch-type machines and conveyor-type machines. Batch-type machines include a chamber configured to receive one or more racks of dishes. The racks to be washed are placed in the chamber, and each step of the washing process (e.g., scraping, washing, rinsing, and/or sanitizing) is performed sequentially while the racks are in the chamber. When the washing process is complete, the racks of clean dishes are removed, and new racks of dirty dishes placed in the chamber. In a conveyor-type machine, racks of dishes are loaded one at a time onto a conveyor that carries the racks through multiple stations (e.g., scraping, washing, rinsing, and/or sanitizing stations) within the machine. Each station includes a chamber through which the racks of dishes pass as they are conveyed through the machine, with each chamber performing a step of the washing process. Each rack of dishes is thereby exposed to each step of the washing process sequentially as it moves through the machine, and is removed as the rack emerges from the final station.

Whether the washing machine comprises a single chamber or a plurality of chambers, each chamber will typically include a tank containing a solution that is used to perform one of the steps of the washing process, such as a solution of water and a detergent, rinse aid, and/or sanitizer. For each step to be effective, the level of chemical product in the respective solution must be maintained within a specified range. Thus, controlled amounts of the chemical product must be added when the reservoir is drained and refilled. As dishes are processed, additional amounts of chemical product may also be added to replace product that is consumed and/or diluted by the processing step.

One problem that must be addressed when using an external dispenser is determining when the tank has been drained and refilled with fresh water. When new water is introduced into the dishwasher, the dispenser needs to provide an initial charge that produces a concentration of the product at or above the minimum required level. Typically, the initial charge is much larger than the charges added between cycles to maintain concentration levels when the tank is not being drained and refilled. Conventional dispensing systems attempt to control the concentration of chemical product by monitoring the conductivity of the solution in the tank, and adding chemical product to the tank as needed to maintain the conductivity of the solution at a level set by the user. However, this method has some shortcomings.

For example, the solution in the tank often contains varying levels of contaminants that affect the conductivity of the solution. This can cause the dispenser to dispense incorrect amounts of chemical product, and allow the concentration of chemical product to fall below the minimum level. There is also normally a large time lag between when the chemical product is dispensed and when a corresponding change in conductivity of the solution is detected, which may result in the dispenser dispensing too much chemical product. In addition, as the electrodes of the conductivity probe age, they may become corroded or coated with non-conductive residue that affects the accuracy of the measured conductivity, and thus the amount of chemical product dispensed. Still further, because the conductivity level must be set by the user and can vary depending on the type of probe and chemical product being used, there is a high likelihood that the level will be set incorrectly.

Therefore, there is a need for improved systems, methods, and software products for dispensing chemical products to washing machines.

SUMMARY

In an embodiment of the invention, a dispenser for dispensing a chemical product to a washing machine is provided. The dispenser includes a processor and a memory coupled to the processor. The memory contains program code that, when executed by the processor, causes the dispenser to receive a conductivity signal from a conductivity circuit, and compare the conductivity signal to a threshold. In response to the conductivity signal breaching the threshold, the program code further causes the dispenser to determine a tank of the washing machine is being drained of a washing solution.

In another embodiment of the invention, a method of dispensing the chemical product to the washing machine is provided. The method includes receiving the conductivity signal from the conductivity circuit, comparing the conductivity signal to the threshold, and in response to the conductivity signal breaching the threshold, determining the tank of the washing machine is being drained of the washing solution.

In another embodiment of the invention, a computer program product for dispensing the chemical product to the washing machine is provided. The computer program product includes a non-transitory computer-readable storage medium, and program code stored on the non-transitory computer-readable storage medium. The program code is configured to, when executed by one or more processors, cause the one or more processors to receive the conductivity signal from the conductivity circuit, compare the conductivity signal to the threshold, and in response to the conductivity signal breaching the threshold, determine the tank of the washing machine is being drained of the washing solution.

The above summary may present a simplified overview of some embodiments of the invention to provide a basic understanding of certain aspects the invention discussed herein. The summary is not intended to provide an extensive overview of the invention, nor is it intended to identify any key or critical elements, or delineate the scope of the invention. The sole purpose of the summary is merely to present some concepts in a simplified form as an introduction to the detailed description presented below.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the invention and, together with the general description of the invention given above, and the detailed description of the embodiments given below, serve to explain the embodiments of the invention.

FIG. 1 is a diagrammatic view of an operating environment including a washing machine and a dispensing system.

FIG. 2 is a diagrammatic view of a probe for use in the washing machine of FIG. 1.

FIG. 3 is a diagrammatic view of another probe for use in the washing machine of FIG. 1.

FIG. 4 is a diagrammatic view of a controller of the dispensing system of FIG. 1.

DETAILED DESCRIPTION

FIG. 1 depicts an exemplary operating environment that includes a washing machine 10 (e.g., a dishwasher) and a dispensing system 12 in accordance with an embodiment of the invention. Although the exemplary washing machine 10 is illustrated as a batch-type dishwasher, the dispensing system 12 may also be used with other types of machines, such as conveyor-type dishwashers or laundry machines. Thus, embodiments of the invention are not limited to the type of washing machine depicted.

The washing machine 10 may include a chamber 14 that is accessed through a water-tight door 16, a pump 18 having an input port 20 and an output port 22, one or more valves 24, 26, a controller 28, and rails 30 configured to receive a rack 32. The controller 28 may include a processor and a memory storing program code that, when executed by the processor, causes the controller 28 to execute one or more processes used to operate the washing machine 10.

A bottom portion of the chamber 14 may define a tank 34 having a capacity and configured to hold a washing solution 36. The tank 34 may include a sump 38 having an opening 40 at the bottom thereof that is coupled to the input port 20 of pump 18. The valve 24 may selectively couple the output port 22 of pump 18 to a manifold 42 or a drain 44 in response to signals received from the controller 28. The manifold 42 may be coupled to upper and lower spray arms 46, and may be selectively coupled by valve 26 to a water source 48 in response to signals from the controller 28. The spray arms 46 may be configured to direct washing and/or rinsing solutions provided under pressure to the manifold 42 onto wares 50 in rack 32. The water source 48 may be configured to provide water to the washing machine 10 at a temperature suitable for washing and/or sterilizing the wares 50. The washing machine 10 may also include one or more heating elements and/or temperature probes (not shown) that enable the controller 28 to control the temperature of the washing solution 36.

The dispensing system 12 may include a dispenser 52 having one or more (e.g., two) pumps 54, 56, a controller 58, and a conductivity circuit 59. The dispenser 52 may be in communication with, and/or receive power from, the controller 28 of washing machine 10 over a cable 61. The controller 58 may also be in communication with a probe 63 configured to generate a signal indicative of the conductivity, presence, and/or absence of washing solution 36 in tank 34. Each pump 54, 56 may include an input port 60, 62 and an output port 64, 66. Each input port 60, 62 may be coupled to a respective reservoir 68, 70 of chemical product, such as a detergent, rinse aid, or sanitizer used by the washing machine 10.

The output port 64 of pump 54 may be coupled to a bulkhead fitting 72 of chamber 14 by a supply line 74. The bulkhead fitting 72 may be located above a fill line 76 of tank 34, and may be used to fill the tank 34 with washing solution 36. To this end, a valve 78 may be configured to selectively couple the supply line 74 to the water source 48 in response to signals received from the controller 58. Water flowing from the valve 78 to the supply line 74 may be provided with detergent by activating the pump 54 to inject detergent into the supply line 74, and/or by passing the water through a Detergent Capsule Feeder (DCF) 80. The probe 63 may be located proximate to the bulkhead fitting 72 and below the fill line 76 so that when the tank 34 is full, the probe 63 is at least partially submerged in washing solution 36. The probe 63 may be, for example, a conductivity probe configured to detect a conductivity of the washing solution 36 and/or float probe configured to detect a level of the washing solution 36.

An injection fitting 82 may couple the output port 66 of pump 56 to the manifold 42. The dispenser 52 may provide another chemical product (e.g., a rinse aid and/or sanitizer) to the washing machine 10 by activating the pump 56 while the valve 26 is in an open state. This may cause the chemical product to be injected into the manifold 42, where it may mix with water flowing through the manifold 42 and be carried into the washing machine 10.

Referring now to FIG. 2, in an embodiment of the invention in which the probe 63 is a conductivity probe 63 a, the probe 63 a may include a body 84 having a threaded barrel 86, a shoulder 88, a head 90, and one or more electrodes 92, 94 each passing through the body 84 in a generally parallel arrangement. Each electrode 92, 94 may include a distal end 96, 98 that projects outward longitudinally from the threaded barrel 86 to contact the washing solution 36, and a proximal end 100, 102 that projects outward longitudinally from the head 90 to provide a point of connection to the probe 63 a. The head 90 may be configured to receive a tool, such as an open-end wrench, to facilitate installation of the probe 63 a in the washing machine 10. The threaded barrel 86 may be configured to pass through an aperture (not shown) in a wall 106 of tank 34, and receive a threaded ring 108 that secures the probe 63 a to the wall 106.

An outer gasket 110 may be located between a wall facing surface 112 of shoulder 88 and an outer surface 113 of wall 106, and an inner gasket 116 may be located between a wall facing surface 114 of the threaded ring 108 and an inner surface 115 of wall 106. Rotating the threaded ring 108 relative to the threaded barrel 86 may cause the outer and inner gaskets 110, 116 to be compressed between the respective surfaces 112-115 to form a fluid-tight seal between the probe 63 a and the wall 106 of tank 34.

Referring now to FIG. 3, in an embodiment of the invention in which the probe 63 is a float probe 63 b, the probe 63 b may include a float 120, a body 122 having an angled portion 124, a shoulder 126, a threaded barrel 127, and a pair of conductors 128, 129. The angled portion 124 of body 122 may include a threaded opening configured to receive a shaft 130. The shaft 130 may include a threaded proximal end 132 configured to engage the threaded opening of angled portion 124, a flange 134 proximate to the proximal end 132, and a distal end 136 including a retainer 138 having a plurality of flexible tines 140. Each of the flexible tines 140 of retainer 138 may project outward from the distal end 136 of shaft 130 at an acute angle to an axis of the shaft 130 so that the tines 140 are angled toward the proximal end 132 of shaft 130.

The float 120 may have a density such that it is buoyant in the washing solution 36, and may include a magnet and a passage (not shown). The passage may include a proximal end and a distal end, and may be configured to receive the shaft 130. When the retainer 138 is inserted into the proximal end of the passage, a surface of the passage may deflect the tines 140 inward toward the shaft 130. This deflection may allow the float 120 to move onto the shaft 130. Upon emerging from the distal end of the passage, the tines 140 may spring back into their relaxed positions, thereby preventing the float 120 from sliding off the distal end 136 of shaft 130.

The float 120 may move along the shaft 130 over a range defined by a position at which the float 120 contacts the retainer 138 at the distal end 136 of shaft 130, and the position at which the float 120 contacts the flange 134 at the proximal end of shaft 130. The probe 63 b may be configured to provide one impedance between the conductors 128, 129 (e.g., a low impedance characteristic of a closed switch) when the float 120 is at one end of its range of movement along the shaft 130, and another impedance (e.g., a high impedance characteristic of an open switch) when the float 120 is at the other end of its range of movement along the shaft 130.

For example, in an embodiment of the invention, the probe 63 b may include a magnetic switch (e.g., a Reed switch) having an electrical characteristic (e.g., an impedance) that is altered by the presence of a magnetic field. The magnetic switch may be located in the probe 63 b so that when the float 120 is in one position (e.g., near the proximal end 132 of shaft 130), the magnet in the float 120 causes the magnetic switch to have one characteristic (e.g., an impedance indicative of a closed state), and when the float 120 is in another position (e.g., near the distal end 136 of shaft 130), the magnet in the float causes the magnetic switch to have another characteristic (e.g., a high impedance indicative of an open state). The controller 58 of dispensing system 12 may thereby determine if the washing solution 36 is above or below a predetermined level based on the impedance between the conductors 128, 129 of probe 63 b.

The probe 63 b may be secured to the wall 106 of tank 34 in a position where the float 120 is sufficiently immersed in the washing solution 36 when the tank 34 is full so as to cause a switch (e.g., a mechanical switch, a mercury switch, or the magnetic switch) to be in the closed state. The probe 63 b may be further positioned so that it is exposed to a flow of washing solution 36 proximate to the bulkhead fitting 72. The threaded barrel 127 of body 122 may be configured to pass through the aperture in the wall 106 of tank 34, and receive a threaded ring 142 that secures the probe 63 b to the wall 106. A gasket 144 may be located between a wall facing surface 146 of shoulder 126 and the inner surface 115 of wall 106. Rotating the threaded ring 142 relative to the threaded barrel 127 may cause the gasket 144 to be compressed between the respective surfaces 115, 146 to form a fluid-tight seal between the probe 63 b and the wall 106 of tank 34. The probe 63 b may be oriented with the shaft in a generally vertical orientation so that the float 120 is urged along the length of the shaft 130 in response to the buoyant force exerted by the washing solution 36.

Referring now to FIG. 4, the controller 58 of dispensing system 12 may include a Human Machine Interface (HMI) 150, a processor 152, an input/output (I/O) interface 154, and a memory 156. The HMI 150 may include output devices, such as an alphanumeric display, a touch screen, and/or other visual and/or audible indicators that provide information from the processor 152 to a user. The HMI 150 may also include input devices and controls, such as an alphanumeric keyboard, a pointing device, keypads, pushbuttons, control knobs, etc., capable of accepting commands or input from the user and transmitting the entered input to the processor 152. By way of example, the input and output devices of HMI 150 may include a membrane overlay with embedded Light Emitting Diodes (LEDs) and buttons.

The processor 152 may include one or more devices configured to manipulate signals (analog or digital) based on operational instructions that are stored in memory 156. Memory 156 may be a single memory device or a plurality of memory devices including but not limited to read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, or any other device capable of storing information. Memory 156 may also include a mass storage device (not shown), such as a hard drive, optical drive, tape drive, non-volatile solid state device or any other device capable of storing digital information.

Processor 152 may operate under the control of an operating system 158 that resides in memory 156. The operating system 158 may manage controller resources so that computer program code embodied as one or more computer software applications 160 (such as a dispenser application) residing in memory 156 may have instructions executed by the processor 152. In an alternative embodiment, the processor 152 may execute the applications 160 directly, in which case the operating system 158 may be omitted. One or more data structures 162 may also reside in memory 156, and may be used by the processor 152, operating system 158, and/or application 160 to store data.

The I/O interface 154 operatively couples the processor 152 to other components in the operating environment, such as the controller 28 of washing machine 10, pumps 54, 56, conductivity circuit 59, and valve 78. The I/O interface 154 may include signal processing circuits that condition incoming and outgoing signals so that the signals are compatible with both the processor 152 and the components to which the processor 152 is coupled. To this end, the I/O interface 154 may include analog to digital (A/D) and/or digital to analog (D/A) converters, voltage level and/or frequency shifting circuits, optical isolation and/or driver circuits, and/or any other analog or digital circuitry suitable for coupling the processor 152 to the other components in the operating environment.

The conductivity circuit 59 may include input terminals 164, 166 that are coupled to the probe 63 and an output 168. The conductivity circuit 59 may be configured generate a conductivity signal (e.g., a voltage) on output 168 indicative of the conductivity and/or impedance between the input terminals 164, 166. By way of example only, the conductivity circuit 59 may include a signal generator 170 that outputs a stimulation signal (e.g., a voltage), a resistor 172 coupled in series with the signal generator 170 and at least one of the input terminals 164, 166, and a differential amplifier 174 having inputs 176, 178 coupled across the resistor 172.

The stimulation signal output by the signal generator 170 may cause a current to flow through the resistor 172 that is inversely proportional to the conductivity between the input terminals 164, 166. This stimulation current may induce a voltage across the resistor 172, which may be amplified by the differential amplifier 174 to produce the conductivity signal on output 168. The conductivity signal may be transmitted to the I/O interface 154, and may provide an indication of the conductivity between the terminals 164, 166 of conductivity circuit 59 to the processor 152.

Embodiments of the invention using the conductivity probe 63 a may have the input terminals 164, 166 of conductivity circuit 59 coupled to the electrodes 92, 94 of conductivity probe 63 a. This may result in the output signal of the conductivity circuit 59 being indicative of the conductivity of the washing solution 36. Conventional systems may determine a concentration of chemical product in the washing solution 36 based on small changes in the conductivity signal, and activate one or more of pumps 54, 56 to adjust the concentration of chemical product based thereon. In contrast, the dispenser application of controller 58 may use the conductivity signal to detect the presence or absence of washing solution 36 at the probe 63 a. To this end, the controller 58 may ignore small changes in conductivity, and respond only to large changes in conductivity.

For example, the dispenser application may determine that the tank 34 is full of washing solution 36 based on the conductivity signal being above a threshold, and that the tank 34 is empty of washing solution 36 when the conductivity signal is below the threshold. The threshold level may be set so that the dispenser application ignores changes in conductivity associated with wash cycles due to varying levels of detergent in the washing solution 36. By way of example, the threshold may be set to a conductivity signal level indicative of a conductivity of the washing solution of between 0.10 and 0.025 siemens per meter (S/m). The threshold may be set, for example, based on the conductivity of water received from the water source 48 so that the conductivity signal is only below the threshold when the electrodes 92, 94 are not covered by the washing solution 36.

In response to the conductivity signal on the output 168 of conductivity circuit 59 falling below the threshold, the dispensing application may determine that the washing solution 36 is being or has been drained from the tank 34. In response, the dispensing application may cause a predetermined amount of chemical product to be dispensed into the tank 34, and/or cause the valve 78 to open for a time sufficient to fill the tank 34, based on a known volume of washing solution 36 held by tank 34, i.e., the capacity of tank 34. This dispensing of chemical product and/or washing solution 36 may be triggered in response to detecting that the conductivity has increased above a threshold, which may indicate that the tank 34 is being refilled. In an embodiment of the invention, the threshold conductivity for determining that the tank 34 has been drained may be lower than the threshold conductivity for determining that the tank 34 is being refilled to provide a level of hysteresis to the detection/refill process.

If the conductivity does not fall below the conductivity threshold between wash cycles, the dispenser application may determine that the washing solution 36 has not been drained, and may dispense a different predetermined amount of detergent into the tank 34 based on an expected level of dilution that occurs between wash cycles, e.g., due to the introduction of water from a rinse cycle. Thus, the dispensing application may determine the amount of detergent to provide to the washing machine 10 between cycles when the tank 34 is not drained without regard to a level of conductivity associated with a desired concentration of chemical product. Rather, the dispensing application may determine that the washing machine 10 is being drained in response to the conductivity signal dropping below one threshold level, that the washing machine 10 is being refilled in response to the conductivity signal increasing above another threshold level, and dispense a predetermined amount of chemical product based on the amount of washing solution 36 held by the tank 34. In cases where the conductivity signal fails to drop below the one threshold level, the dispensing application may dispense an amount of chemical product based on the amount of dilution expected between washing cycles.

Embodiments of the invention using the float probe 63 b may have the input terminals 164, 166 of conductivity circuit 59 coupled to the switch of float probe 63 b. This may result in the output signal of the conductivity circuit 59 being indicative of whether the switch is in an open state or a closed state. As with the conductivity probe, the dispensing application may detect the draining and refilling of the tank 34 based on the conductivity signal. The conductivity signal may be indicative of a low conductivity (e.g., at a low voltage) when the float 120 is in a position that causes the switch to be in the open state, and indicative of a high conductivity (e.g., at a high voltage) when the float 120 is in a position that causes the switch to be in the closed state. For example, when the tank 34 is refilled, the float 120 may move upward along the shaft 130. As the magnet embedded in the float 120 approaches the magnetic switch, the input of the probe 63 b may change from an open circuit to a closed circuit.

The fixed low impedance of the switch of float probe 63 b when the switch is in the closed state may effectively replace the impedance between the electrodes 92, 94 of conductivity probe 63 a when the probe 63 a is immersed in the washing solution 36. That is, in either case, the conductivity signal output by conductivity circuit 59 may be below the threshold. By comparing the conductivity signal to the threshold to determine if the tank 34 has been drained rather than determining a concentration of the chemical product in the washing solution 36, the dispenser 52 may operate interchangeably with either the conductivity probe 63 a or float probe 63 b. The dispenser 52 may also dispense chemical products more reliably than conventional systems that control dispensing operations based on maintaining a level of conductivity associated with a desired concentration of chemical product. This may be due to the dispenser 52 having a lower sensitivity to the conduction level of the washing solution 36.

Setting and using conductivity signal thresholds to detect draining and filling of the tank 34 rather than a desired operating concentration level of chemical product may enable the dispensing system 12 to dispense chemical products more reliably than dispensing systems lacking this feature. This feature may also enable the dispenser 52 to operate with both conductivity and float probes without changes to the conductivity circuit 59 or the programming of the controller 58. Existing dispensers lacking this feature may be updated by loading an updated dispenser application that includes the feature as a menu option so that either type of probe can be used without the need to update hardware.

In general, the routines executed to implement the embodiments of the invention, whether implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions, or a subset thereof, may be referred to herein as “computer program code,” or simply “program code.” Program code typically comprises computer-readable instructions that are resident at various times in various memory and storage devices in a computer and that, when read and executed by one or more processors in a computer, cause that computer to perform the operations necessary to execute operations and/or elements embodying the various aspects of the embodiments of the invention. Computer-readable program instructions for carrying out operations of the embodiments of the invention may be, for example, assembly language or either source code or object code written in any combination of one or more programming languages.

Various program code described herein may be identified based upon the application within which it is implemented in specific embodiments of the invention. However, it should be appreciated that any particular program nomenclature which follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature. Furthermore, given the generally endless number of manners in which computer programs may be organized into routines, procedures, methods, modules, objects, and the like, as well as the various manners in which program functionality may be allocated among various software layers that are resident within a typical computer (e.g., operating systems, libraries, API's, applications, applets, etc.), it should be appreciated that the embodiments of the invention are not limited to the specific organization and allocation of program functionality described herein.

The program code embodied in any of the applications/modules described herein is capable of being individually or collectively distributed as a program product in a variety of different forms. In particular, the program code may be distributed using a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to carry out aspects of the embodiments of the invention.

Computer-readable storage media, which is inherently non-transitory, may include volatile and non-volatile, and removable and non-removable tangible media implemented in any method or technology for storage of data, such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media may further include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid state memory technology, portable compact disc read-only memory (CD-ROM), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired data and which can be read by a computer. A computer-readable storage medium should not be construed as transitory signals per se (e.g., radio waves or other propagating electromagnetic waves, electromagnetic waves propagating through a transmission media such as a waveguide, or electrical signals transmitted through a wire). Computer-readable program instructions may be downloaded to a computer, another type of programmable data processing apparatus, or another device from a computer-readable storage medium or to an external computer or external storage device via a network.

Computer-readable program instructions stored in a computer-readable medium may be used to direct a computer, other types of programmable data processing apparatuses, or other devices to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions that implement the functions, acts, and/or operations specified in the flow-charts, sequence diagrams, and/or block diagrams. The computer program instructions may be provided to one or more processors of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the one or more processors, cause a series of computations to be performed to implement the functions, acts, and/or operations specified in the flow-charts, sequence diagrams, and/or block diagrams.

In certain alternative embodiments, the functions, acts, and/or operations specified in the flow-charts, sequence diagrams, and/or block diagrams may be re-ordered, processed serially, and/or processed concurrently consistent with embodiments of the invention. Moreover, any of the flow-charts, sequence diagrams, and/or block diagrams may include more or fewer blocks than those illustrated consistent with embodiments of the invention.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, actions, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, actions, steps, operations, elements, components, and/or groups thereof. Furthermore, to the extent that the terms “includes”, “having”, “has”, “with”, “comprised of”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising”.

While all the invention has been illustrated by a description of various embodiments, and while these embodiments have been described in considerable detail, it is not the intention of the Applicant to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus and method, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the Applicant's general inventive concept. 

What is claimed is:
 1. A dispenser for dispensing a chemical product to a washing machine, the dispenser comprising: a processor; and a memory coupled to the processor and containing program code that, when executed by the processor, causes the dispenser to: receive a conductivity signal from a conductivity circuit; compare the conductivity signal to a first threshold; and in response to the conductivity signal breaching the first threshold, determine a tank of the washing machine is being drained of a washing solution.
 2. The dispenser of claim 1 wherein the program code further causes the dispenser to: in response to determining the conductivity signal breached the first threshold, compare the conductivity signal to a second threshold; and in response to the conductivity signal breaching the second threshold, determine the tank of the washing machine is being filled with the washing solution.
 3. The dispenser of claim 2 wherein the program code further causes the dispenser to: in response to determining the tank is being filled with the washing solution, dispense a predetermined amount of chemical product into the tank.
 4. The dispenser of claim 3 wherein the predetermined amount of chemical product is determined based on a capacity of the tank and a desired concentration of the chemical product in the washing solution.
 5. The dispenser of claim 1 wherein the program code further causes the dispenser to: in response to the conductivity signal breaching the first threshold, dispense a first predetermined amount of chemical product into the tank; and in response to the conductivity signal not breaching the first threshold and receiving a status signal from the washing machine indicating the washing machine is starting a wash cycle, dispense a second predetermined amount of the chemical product into the tank.
 6. The method of claim 5 wherein the second predetermined amount of chemical product is less than the first predetermined amount of chemical product.
 7. The dispenser of claim 1 wherein the conductivity circuit has an output on which the conductivity signal is provided, and an input coupled to a probe located in the tank.
 8. The dispenser of claim 7 wherein the probe is a conductivity probe.
 9. The dispenser of claim 7 wherein the probe is a float probe.
 10. The dispenser of claim 9 wherein the probe includes: a float having a magnet; and a magnetic switch, and the probe is configured so that the magnet causes the magnetic switch to be in a closed state when the tank is full, and in an open state when the tank is empty.
 11. A method of dispensing a chemical product to a washing machine, the method comprising: receiving a conductivity signal from a conductivity circuit; comparing the conductivity signal to a first threshold; and in response to the conductivity signal breaching the first threshold, determining a tank of the washing machine is being drained of a washing solution.
 12. The method of claim 11 further comprising: in response to determining the conductivity signal breached the first threshold, comparing the conductivity signal to a second threshold; and in response to the conductivity signal breaching the second threshold, determining the tank of the washing machine is being filled with the washing solution.
 13. The method of claim 12 further comprising: in response to determining the tank is being filled with the washing solution, dispensing a predetermined amount of chemical product into the tank.
 14. The method of claim 13 wherein the predetermined amount of chemical product is determined based on a capacity of the tank and a desired concentration of the chemical product in the washing solution.
 15. The method of claim 11 further comprising: in response to the conductivity signal breaching the first threshold, dispensing a first predetermined amount of chemical product into the tank; and in response to the conductivity signal not breaching the first threshold and receiving a status signal from the washing machine indicating the washing machine is starting a wash cycle, dispensing a second predetermined amount of the chemical product into the tank.
 16. The method of claim 11 wherein the conductivity circuit has an output on which the conductivity signal is provided, and an input coupled to a probe located in the tank.
 17. The method of claim 16 wherein the probe is a conductivity probe.
 18. The method of claim 16 wherein the probe is a float probe.
 19. The method of claim 18 wherein the probe includes: a float having a magnet; and a magnetic switch, and the probe is configured so that the magnet causes the magnetic switch to be in a closed state when the tank is full, and in an open state when the tank is empty.
 20. A computer program product for dispensing a chemical product to a washing machine, the computer program product comprising: a non-transitory computer-readable storage medium; and program code stored on the non-transitory computer-readable storage medium that, when executed by one or more processors, causes the one or more processors to: receive a conductivity signal from a conductivity circuit; compare the conductivity signal to a first threshold; and in response to the conductivity signal breaching the first threshold, determine a tank of the washing machine is been drained of a washing solution. 